Computer software is constantly updated to keep pace with new features, prevent problems from arising, or fix known or recurrent problems. Users exploit several mechanisms, each requiring a certain amount of computer resources, involvement and decision-making on the part of the user, to keep up with available updates. Various methods for updating software include patching and hardware and software upgrades.
Providers typically determine when, how, at what cost, and under what circumstances upgrades are made available. Inevitably, upgrading requires the time and energy of the user device, and some level of user involvement. As a general matter, any increase in time or effort required by the user, or any annoyance experienced due to reduced device functionality while an upgrade occurs, reduces the likelihood that the user actively chooses to upgrade their software, especially if they are not experiencing a problem.
Providers are increasingly providing upgrades via a patch, a discreet portion of computer code downloaded via a network, such as the Internet, as opposed to upgrading via hardware and software upgrades. This is because the process of upgrading via hardware and software upgrades often requires more time than that of a patch as it requires the user to physically load the update onto their user device. The possibility of user error is also increased as greater activity is required on the part of the user to implement upgrades. Alternatively, the process of upgrading via a patch does not require any physical loading of software or hardware by the user. However, upgrading a user's system via the patch does require consideration of the network connection quality, processing capacity of the user device, and user's ability and willingness to properly download and implement the patch.
A patch can be an upgrade, a bug fix, a new hardware driver or update to address new issues such as security, stability or other end-user problems. Most patches are free to download, but ultimately the provider determines which versions of their software are updated for free. In some cases, only registered users may get certain upgrades. At other times the only way to upgrade is to purchase the newer version at a discounted price, which requires reinstallation of the program. Typically, a patch can be installed concurrent with an existing program depending on the supplier and the nature of the patch.
Providers often force, or push, upgrades to the user device and users are typically denied access to the device until upgrades are installed. Alternatively, a provider may prevent a user from closing out of an application until the upgrade is downloaded. When the provider forces downloads of upgrades the user's device typically functions more slowly or not at all until upgrades are downloaded. Alternatively, users may request, or pull, upgrades by accepting them upon notification provided by the provider that upgrades are available. The download of the upgrade is typically contemporaneous with the user's request and consumes computer resources causing delay in the device's utility to the user.
Generally, users must conform to parameters set by the providers if they are to obtain upgrades. The prior art method of receiving upgrades is problematic for several reasons. The provider typically does not take into account that the user's device is slowed while the download takes place and that the user's experience while using their device is negatively impacted by a delay caused by downloading an upgrade. Alternatively, when upgrades are pulled, users are required to make decisions about when to suffer a delay on the user device on a case-by-case basis. Further, users pulling upgrades are often required to determine the correct upgrade for their system with no or little knowledge or guidance. In either case, the provider may limit the size of the upgrade to be downloaded or provide the upgrade in serial form to reduce the delay experienced by the download.
In situations where the provider forces the user to accept updates, the user typically has no choice as to when or how such upgrades occur. The user experiences interruption in the functionality of the user device and, worse still, the delay may be unexpected and/or frustrate the user's use of their device. In situations where the upgrade is requested by the user, they typically have limited options to refuse a download. In the event that the user chooses to download the upgrade, the upgrade starts downloading to the user device immediately and, during the time of the upgrade, the user experiences reduced functionality of the user device. Some users have developed a habit of choosing not to upgrade due to the temporary interruption in the use of the device. The burden of upgrading to resolve problems often exacerbates the frustration of the user experiencing an underlying problem and makes finding a less intrusive means of providing upgrades to clients and users desirable. In the long term, failure to voluntarily upgrade acts as a detriment to providers, clients and users, as upgrades allow users to experience the best product the provider has to offer, resolve problems, and prevent problems from arising.
There exists a need to provide users with a less burdensome means of upgrading their devices by providing users with the means to select when and in what manner downloading can occur that reduces the interruption of their use of their device.